From 9045816f690754dbc2ac3e656e7c468230646b47 Mon Sep 17 00:00:00 2001 From: "cl349@firebug.cl.cam.ac.uk" Date: Tue, 9 Aug 2005 16:16:08 +0000 Subject: [PATCH] Do not suppress errors on writes outside transactions. Mike Wray made this change because xend's callbacks were failing with EROFS, because a transaction was going on. However, the solution is to either block callbacks during transactions, or use a different connection to the store. We fail ex-transaction activity because it's not clear what the right behaviour is: it allows deadlock if two people do it, and it implied your transaction isn't rooted in the right place. This hack caused the testsuite to fail (obviously), so as a result the testsuite wasn't run very often. This caused it to bitrot. Signed-off-by: Rusty Russel Signed-off-by: Christian Limpach --- tools/xenstore/xenstored_core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c index f541975fe5..40fc8a7942 100644 --- a/tools/xenstore/xenstored_core.c +++ b/tools/xenstore/xenstored_core.c @@ -931,8 +931,7 @@ static void do_write(struct connection *conn, struct buffered_data *in) } node = canonicalize(conn, vec[0]); - if (/*suppress error on write outside transaction*/ 0 && - !within_transaction(conn->transaction, node)) { + if (!within_transaction(conn->transaction, node)) { send_error(conn, EROFS); return; } -- 2.30.2